Many known paging control systems and methods are suitable for datasets with a small number of elements. One basic example involves providing “next” and “back” navigation elements. This basic example has been improved upon by adding “jump to end” and “jump to beginning” navigation elements. Another known variation involves initially displaying a short list of sequentially ordered numbers corresponding to pages adjacent to a currently selected page. Oftentimes, the selected page is highlighted or otherwise emphasized. Frequently, only a small number of pages are shown at a time. For example, sometimes only 3, 5, or 10 elements are shown. When a user is “in the middle” of a large number of pages, the presence of ellipses (i.e., “. . . ”) may indicate the existence of pages on either side of the currently selected page. For example, when there are 10 total pages, the currently selected page is 1, and up to 2 navigation elements are shown on either side of the currently selected page, the following paging control elements may be displayed:                1, 2, 3, . . .Following the same example, when the user navigates to page 5 (i.e., making the currently selected page 5), the following paging control elements may be displayed:        . . . 3, 4, 5, 6, 7 . . .As indicated above, “jump to end” and “jump to beginning” navigation elements may be added to these displays, as appropriate. That is, in the former example, a “jump to end” navigation element would be appropriate, whereas a “jump to beginning” navigation element would not be appropriate because the user is already at the first page. In the latter example, both “jump to end” and “jump to beginning” navigation elements may be displayed, since the user is in the “middle” of the pages.        
As can be seen from the above, there are a number of paging control techniques than can be successfully implemented, particularly with respect to small datasets. Unfortunately, there also is a need to efficiently and effectively visualize and navigate among more and more elements. This need may be becoming increasingly important as more and more options are presented to users, more data becomes available for research and/or searching, etc. Indeed, this need has manifested itself in many areas of computer-related technologies. For example, researchers may need to navigate among large and complex datasets, online shoppers may need to navigate among a potentially large number of products of interests, searchers may need to traverse large numbers of web pages or other search results when looking for an item of interest, etc. Currently, there is a lack of display techniques oriented towards visualizing and navigating among large datasets, thus making it difficult for users to process them.
Moreover, although the techniques described above are suitable for small datasets, they often are cumbersome or even unmanageable in connection with large datasets. For example, it is easy to see how the above described example paging elements would be extremely difficult to use in connection with datasets of over as few as 50, 100, or even 1,000 total elements. However, it will be appreciated that many searches may return a number of results well over these example amounts. Indeed, an electronic product registration system that manages several million entries cannot be suitably navigated using these conventional controls.
To complicate matters, the need to navigate among large numbers of elements often is tempered by the need to simultaneously provide for visualization and/or navigation among small numbers elements. In other words, not every dataset a researcher is interested in will have millions of records, would-be consumers might find only a small number of products that meet their criteria, search results may be few rather than many, etc. Consequently, it is difficult to create a product that is flexible enough to accommodate both small and large datasets, as (1) small dataset paging control techniques are not well-suited for large dataset paging control techniques, and (2) there currently is a dearth of large dataset paging control techniques available. Even if there were large dataset paging control techniques that could be applied to small datasets, it is likely that they would suffer from a problem similar to that described above in that they would not work well for such sets.
Thus, it will be appreciated that it would be advantageous to provide flexible paging control systems and methods. In other words, it would be advantageous to provide flexible paging control systems and methods that are capable of aiding in user visualization and navigation among datasets of large and small numbers of elements.
One aspect of certain exemplary embodiments relates to paging systems and methods that help users navigate through large or small datasets by providing paging control elements.
Another aspect of certain exemplary embodiments relates to paging systems and methods that provide paging control elements according to either a binary subdivision approach or a serial progressive approach.
Still another aspect of certain exemplary embodiments relates to displaying paging control elements according to either the binary subdivision approach or the serial progressive approach in dependence on a determination as to which approach is more advantageous based at least in part on factors such as, for example, total number of pages, current page location, distance to end points, screen size, etc.
In certain exemplary embodiments, a paging control method enabling a user to navigate through a plurality of data elements displayed on a display of a computer of the user is provided. A subset of the plurality of data elements is displayable in each of a plurality of pages, with the plurality of pages including at least a first page and a last page. Paging control elements are designated for the first and last pages. Information identifying a currently selected page is received. When the currently selected page is either the first page or the last page: it is determined whether additional paging control elements are to be displayed according to either a serial progressive approach or a binary subdivision approach, and additional paging control elements are designated for display between the paging control elements for the first and last pages in accordance with the approach selected in the determining. When the currently selected page is between the first and last pages: it is determined for a first sub-range corresponding to a range between the first page and the currently selected page, whether additional paging control elements are to be displayed according to either a serial progressive approach or a binary subdivision approach; it is determined for a second sub-range corresponding to a range between the currently selected page and the last page, whether additional paging control elements are to be displayed according to either a serial progressive approach or a binary subdivision approach; and additional paging control elements are designated for display between the paging control elements for the first and last pages in accordance with the approaches selected for the first and second sub-ranges in the determining. The currently selected page is formatted for display on the display of the user such that it includes all designated paging control elements.
In certain exemplary embodiments, a computer-readable storage medium comprising a paging control program for enabling a user to navigate through a plurality of data elements may be provided, wherein the program, when executed by the computer performs instructions corresponding to this and/or other methods.
Similarly, in certain exemplary embodiments, a corresponding data visualization system may be provided, with the system comprising a computer having a display and paging control programmed logic circuitry capable of acting similar to the above-described and/or other methods. In such exemplary embodiments, for example, the paging control programmed logic circuitry may be further configured to re-format the currently selected page upon a user selecting a new page to be the currently selected page.